package com.mida.app.knw.service;

import com.mida.dms.knw.entity.vo.KnwIndividualRelationVo;
import com.mida.dms.knw.entity.vo.KnwIndividualVo;
import com.mida.dms.knw.entity.vo.MapperPage;
import com.mida.dms.knw.vo.KnwIndividualRelationPageVo;
import com.mida.dms.knw.vo.PageResultVo;
import com.mida.tool.common.result.ActionResult;
import com.mida.tool.common.result.ListResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * <h1></h1>
 * <p>
 *
 * </p>
 *
 * @author jian.li on 2021/7/22 14:40
 */
public interface KnwIndividualRelationService {

    ActionResult addSingle(@RequestBody KnwIndividualRelationVo relation);

    ActionResult addList(@RequestBody List<KnwIndividualRelationVo> relationList);

    ListResult<PageResultVo<KnwIndividualRelationVo>> findPage(@RequestBody KnwIndividualRelationPageVo vo);

    ListResult<KnwIndividualRelationVo> findSingle(@RequestParam("soid") Long individualRelationSoid);

    ActionResult enable(@RequestParam("soid") Long soid);

    ListResult<List<KnwIndividualVo>> findSourceAndTarget(@RequestBody MapperPage page);

    ListResult<Object> findRelation(@RequestParam("searchData") String searchData);

    ActionResult updateSingle(KnwIndividualRelationVo relation);

    ActionResult delete(Long individualRelationSoid);
}
